Linux上Docker 下的SQLServer+Django+Uvicorn+Nginx+Supervisor部署指南(正常人谁用sqlserver啊)

您所在的位置:网站首页 python 部署 Linux上Docker 下的SQLServer+Django+Uvicorn+Nginx+Supervisor部署指南(正常人谁用sqlserver啊)

Linux上Docker 下的SQLServer+Django+Uvicorn+Nginx+Supervisor部署指南(正常人谁用sqlserver啊)

#Linux上Docker 下的SQLServer+Django+Uvicorn+Nginx+Supervisor部署指南(正常人谁用sqlserver啊)| 来源: 网络整理| 查看: 265

系统:Centos 7

Docker下SQL Server安装

安装Docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

拉取镜像

docker pull mcr.microsoft.com/mssql/server:2019-latest

运行容器其中SA_PASSWORD设置为SA账户(SuperAdmin)的密码,默认登陆名为sa

docker run --name sqlserver -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=2019@123' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest

至此,安装结束。

Centos 下ODBC驱动的安装

安装依赖

yum install unixODBC-devel freetds

在python虚拟环境中安装依赖

pip install django-pyodbc django-mssql django-pytds django-sqlserver mssql-django six lxml openpyxl PyMySQL pyodbc

配置freetds

nano /etc/freetds.conf

添加如下配置其中 Server 为Django连接数据库时的HOST

[Server] host = 127.0.0.1 port = 1433 tds version = 8.0

配置unixODBC

nano /etc/odbcinst.ini

添加如下配置其中SQL Server 为Django连接时的drive名

[SQL Server] Description = FreeTDS ODBC driver for MSSQL Driver = /usr/lib64/libtdsodbc.so Setup = /usr/lib64/libtdsS.so FileUsage = 1

执行odbcinst -d -q 查看驱动列表有SQL Server则为配置成功

[PostgreSQL] [MySQL] [SQL Server] Django 数据库配置DATABASES = { "default": { "ENGINE": "mssql", "NAME": "数据库名", "HOST": "Server", # 为前文配置中freetds的配置名 "PORT": "1433", #端口 "USER": "用户名", "PASSWORD": "密码", "OPTIONS": { 'driver': 'SQL Server', # 为前文配置中unixODBC的配置名 }, } } supervisor uvicorn配置

安装supervisior

pip install supervisor uvicorn

supervisior配置文件

[program:System] command=/project/sellsystem/bin/python3 -m uvicorn --proxy-headers --workers 4 [yourprojectname].asgi:application directory=/project/sellsystem/ autorestart=true startsecs=3 startretries=3 stdout_logfile=/www/server/panel/plugin/supervisor/log/sellSystem.out.log stderr_logfile=/www/server/panel/plugin/supervisor/log/sellSystem.err.log stdout_logfile_maxbytes=2MB stderr_logfile_maxbytes=2MB user=root priority=999 numprocs=1 process_name=%(program_name)s_%(process_num)02d

保存后执行

supervisorctl update #一定要先更新 supervisorctl start System:* supervisorctl stop System:* supervisorctl restart System:*

即可启动

nginx配置server { listen 80; server_name localhost charset UTF-8; access_log /home/log/test_nginx_access.log; error_log /home/log/test_nginx_error.log; client_max_body_size 75M; location / { proxy_pass http://127.0.0.1:8000; } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3